"""
1、如果异常发生了，则异常发生后面的代码不会执行，直接进入到 except 子句
2、如果异常没有发生，则顺序执行 try 的代码块，不会进入到 except 子句
3、如果希望没有发生异常时，要执行某段代码，则使用 else 子句
4、如果希望不管是否发生异常，都执行某段代码（比如关闭连接，释放资源）则使用 finally 子句
5、可以有多个 except 子句，捕获不同的异常，如果发生异常，只会匹配一个 except，建议把
    具体的异常写在前面，基类异常写在后面，这样当具体异常匹配不到时，再由基类异常匹配
6、一个 except 子句，可以捕获不同的异常
    except (IndexError, NameError, TypeError) as e:
"""